1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatus, and products for relocating page tables and data amongst memory modules in a virtualized environment.
2. Description of Related Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today's computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
Today's complex computer systems are required by their users to be continuously available. Increasingly, customers are requiring that any piece of hardware be able to be repaired or replaced while the computer system is running, including memory, processors, and I/O hardware. Repair or replacement of a hardware component in a running system may require the customer, using platform management interfaces, to deconfigure the identified failing hardware component, or a group of hardware components which includes the identified failing component. A grouping of hardware components usually consists of the smallest grouping of hardware that can be electrically isolated and mechanically removed from the system for replacement without impacting the rest of the running system.
In order to remove a grouping of hardware that contains memory—a memory module—from a running computer system, without interruption of operation of the computer system, the contents of the memory in that node must first be relocated to free memory on other nodes. This poses a challenge for memory used for partition hardware page tables (HPTs) in virtualized environments, which may be accessed by the partition via operating system hcalls to the hypervisor and accessed separately by the hardware.
One solution is to suspend the partition that utilizes the HPT. While the partition is suspended, the HPT could be copied to its new location. This solution, however, impacts the partitions performance. Copying data of that size while the partition is suspended would cause communication line timeouts and noticeable delays by users of the partitions. Further, in addition to the page table, operational data stored in the memory module to be replaced may also need relocated. Suspending the partition during relocation of such data is in the same way undesirable. That is, current methods of relocating page tables and data utilized in a virtualized environment are inefficient, time-consuming, and costly.